EDAToolsCafe, the Worlds #1 EDA Web Portal.
Search:
HP Invent
  Home | Companies | Design Tools | Downloads | Demos | News | Jobs | Resources | Universities | Books & Courses | e-Store
  Check Mail | Free Email | Submit Material | Newsgroups | Events | e-Contact | Membership | Fun Stuff | Weather | Advertise | e-Catalog Signup >> Site Tour <<
 Browse eCatalog:  Subscribe to EDA Daily News
eCatalogAsic & ICPCBFPGADesign Services
Email: 

Resources: Users Groups |  Tech Papers |  Calendar |  Organizations |  Usenet |  Publications |  Discussion Groups |  Courses
  EDA Resources
Research Center EDAToolsCafe Research Center  
Printer Friendly Version

Designers Corner with Prof. Mike Smith  Part 1  Part 2

Bugs

The first bug we found on our prototype board was the spelling of “Demonstration” on the silkscreen. The PCB layout software doesn’t have a spelling checker! (A spelling checker in a PCB layout tool is not as crazy as it seems; a spelling consistency checker would catch several common problems.) We liked the name Demonstation, and kept it.

The second bug was a classic. We had connected the power supply connector on the board with reversed polarity: opposite to the plug on our power supply brick. (You will understand this problem if you have ever seen the little diagram for the tip and the ring that is usually printed on a power supply brick.) I don’t think I have ever fabricated a board that has not suffered from some kind of error from a mix-up between male and female, plugs and sockets, or components in backwards, upside down, or inside out. This first Demonstation bug was relatively easy to fix; we turned the connector around and soldered it on the board backwards.

We completed a quick check on voltages and power supply currents and were ready to try an Ethernet connection. Nothing happened. After poking around for a few minutes we found the reset signal on the PHY chip was being pulled low continuously. After a little thought we realized this was because the keeper circuit in the CPLD (also connected to the reset signal) was holding the reset low. We fixed this by changing the default behavior of the CPLD reset pin and tried again. Lo and behold the Ethernet connection LEDs on the Demonstation started blinking! From that point on we didn’t find any more errors in the analog portion of Demonstation, because that was the part we had finished early and several people had checked it thoroughly.

As we continued with debugging the Demonstation over the next month, we found about four more problems in the digital section, which was finished last and was not checked by as many people as the analog section. Most of the remaining bugs were due to errors on the schematic, not the design itself. Some bugs were due to mix-ups over names: confusion between SRAM_WE_N and SRAM_WR_N, for example. This is a very common problem: errors often occur in handing off information between engineers.

A typical bug. The signal SRAM_WR_N on the FPGA (on the left) should have been connected to SRAM_WE_N on one bank of the SRAM (on the right). This was just a simple mix-up in using WR for write enable at the same time as WE for write enable. Other than having multiple people check the schematic over and over again, there is no easy way to catch an error like this. Fortunately, with access to the signals, these sorts of problems can easily be fixed using an FPGA.

Every one of the remaining Demonstation bugs we fixed by cutting a PCB track and/or adding a wire or two. These fixes are often called “yellow wire” fixes, because of the common use of thin single-strand wire covered with a yellow plastic sleeve. (You can see some of these wired fixes on the underside of the Demonstation.) We couldn’t have made most of these simple fixes, however, if we had not been able to reprogram the logic in the CPLD or FPGA.

Table of Contents   Previous Next
Learn More about Aldec-HDL 4.0XE
Copyright 2000, Internet Business Systems, Inc.
1-888-44-WEB-44 --- marketing@ibsystems.com
Support
Phone Support